// RAP [bm]: animations ///******************************************************************************* // * Copyright (c) 2007, 2008 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // ******************************************************************************/ //package org.eclipse.ui.internal; // //import java.util.Iterator; // //import org.eclipse.jface.util.Geometry; //import org.eclipse.swt.SWT; //import org.eclipse.swt.graphics.Color; //import org.eclipse.swt.graphics.Rectangle; //import org.eclipse.swt.graphics.Region; //import org.eclipse.swt.widgets.Shell; // ///** // * Creates an animation feedback that will morph the start rectangle to the end rectangle // * for AnimationEngine. // * // * @since 3.3 // * // */ //public class LegacyAnimationFeedback extends RectangleAnimationFeedbackBase { // private static final int LINE_WIDTH = 1; // // private Region shellRegion; // // public LegacyAnimationFeedback(Shell parentShell, Rectangle start, // Rectangle end) { // super(parentShell, start, end); // } // // public void renderStep(AnimationEngine engine) { // if (shellRegion != null) { // shellRegion.dispose(); // shellRegion = new Region(getAnimationShell().getDisplay()); // } // // // Iterate across the set of start/end rects // Iterator currentRects = getCurrentRects(engine.amount()).iterator(); // while (currentRects.hasNext()) { // Rectangle curRect = (Rectangle) currentRects.next(); // Rectangle rect = Geometry.toControl(getAnimationShell(), curRect); // shellRegion.add(rect); // rect.x += LINE_WIDTH; // rect.y += LINE_WIDTH; // rect.width = Math.max(0, rect.width - 2 * LINE_WIDTH); // rect.height = Math.max(0, rect.height - 2 * LINE_WIDTH); // // shellRegion.subtract(rect); // } // // getAnimationShell().setRegion(shellRegion); // getAnimationShell().getDisplay().update(); // } // // /* (non-Javadoc) // * @see org.eclipse.ui.internal.AnimationFeedbackBase#initialize(org.eclipse.ui.internal.AnimationEngine) // */ // public void initialize(AnimationEngine engine) { // Color color = getAnimationShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW); // getAnimationShell().setBackground(color); // // // Ensure that the background won't show on the initial display // shellRegion = new Region(getAnimationShell().getDisplay()); // getAnimationShell().setRegion(shellRegion); // } // // /* (non-Javadoc) // * @see org.eclipse.ui.internal.AnimationFeedbackBase#dispose() // */ // public void dispose() { // super.dispose(); // // if (!shellRegion.isDisposed()) // shellRegion.dispose(); // } // // /** // * Perform any initialization you want to have happen -before- the // * amination starts // */ // public boolean jobInit(AnimationEngine engine) { // if (!super.jobInit(engine)) // return false; // // // Compute the shell's bounds // Rectangle shellBounds = Geometry.copy((Rectangle) getStartRects() // .get(0)); // Iterator startIter = getStartRects().iterator(); // Iterator endIter = getEndRects().iterator(); // while (startIter.hasNext()) { // shellBounds.add((Rectangle) startIter.next()); // shellBounds.add((Rectangle) endIter.next()); // } // getAnimationShell().setBounds(shellBounds); // // Making the shell visible will be slow on old video cards, so only start // // the timer once it is visible. // getAnimationShell().setVisible(true); // // return true; // OK to go... // } // //}